
package com.jf.cloud.common.product.vo.app;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jf.cloud.common.serializer.ImgJsonSerializer;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * sku信息VO
 *
 * @author zz
 * @date 2020-10-28 15:27:24
 */
public class SkuAppVO{

    @Schema(description = "属性id" )
    private Long skuId;

    @Schema(description = "SPU id" )
    private Long spuId;

    @Schema(description = "sku名称" )
    private String skuName;

    @JsonSerialize(using = ImgJsonSerializer.class)
    @Schema(description = "主图：sku有图片使用sku图片，否则使用商品主图" )
    private String mainImgUrl;

    @JsonSerialize(using = ImgJsonSerializer.class)
    @Schema(description = "banner图片" )
    private String imgUrl;

    @Schema(description = "售价，整数方式保存" )
    private Long priceFee;

    @Schema(description = "市场价，整数方式保存" )
    private Long marketPriceFee;

    @Schema(description = "库存" )
    private Integer stock;

    @Schema(description = "库存预警")
    private Integer stockWarning;

    public Integer getStockWarning() {
        return stockWarning;
    }

    public void setStockWarning(Integer stockWarning) {
        this.stockWarning = stockWarning;
    }

    public Integer getSupplierStock() {
        return supplierStock;
    }

    public void setSupplierStock(Integer supplierStock) {
        this.supplierStock = supplierStock;
    }

    @Schema(description = "供应商品库存" )
    private Integer supplierStock;

    @Schema(description = "积分价格" )
    private Long scoreFee;

    @Schema(description = "属性" )
    private String properties;

    @Schema(description = "当商品为代销商品时，供应商商品skuId" )
    private Long supplierSkuId;

    @Schema(description = "定金数额" )
    private Long depositAmount;
    @Schema(description = "定金膨胀数额" )
    private Long depositExpansionAmount;

    public Long getDepositAmount() {
        return depositAmount;
    }

    public void setDepositAmount(Long depositAmount) {
        this.depositAmount = depositAmount;
    }

    public Long getDepositExpansionAmount() {
        return depositExpansionAmount;
    }

    public void setDepositExpansionAmount(Long depositExpansionAmount) {
        this.depositExpansionAmount = depositExpansionAmount;
    }

    public Long getSupplierSkuId() {
        return supplierSkuId;
    }

    public void setSupplierSkuId(Long supplierSkuId) {
        this.supplierSkuId = supplierSkuId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getSpuId() {
        return spuId;
    }

    public void setSpuId(Long spuId) {
        this.spuId = spuId;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Long getPriceFee() {
        return priceFee;
    }

    public void setPriceFee(Long priceFee) {
        this.priceFee = priceFee;
    }

    public Long getMarketPriceFee() {
        return marketPriceFee;
    }

    public void setMarketPriceFee(Long marketPriceFee) {
        this.marketPriceFee = marketPriceFee;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public Long getScoreFee() {
        return scoreFee;
    }

    public void setScoreFee(Long scoreFee) {
        this.scoreFee = scoreFee;
    }

    public String getProperties() {
        return properties;
    }

    public void setProperties(String properties) {
        this.properties = properties;
    }

    public String getMainImgUrl() {
        return mainImgUrl;
    }

    public void setMainImgUrl(String mainImgUrl) {
        this.mainImgUrl = mainImgUrl;
    }

    @Override
    public String toString() {
        return "SkuAppVO{" +
                "skuId=" + skuId +
                ", spuId=" + spuId +
                ", skuName='" + skuName + '\'' +
                ", mainImgUrl='" + mainImgUrl + '\'' +
                ", imgUrl='" + imgUrl + '\'' +
                ", priceFee=" + priceFee +
                ", marketPriceFee=" + marketPriceFee +
                ", stock=" + stock +
                ", supplierStock=" + supplierStock +
                ", scoreFee=" + scoreFee +
                ", properties='" + properties + '\'' +
                ", supplierSkuId=" + supplierSkuId +
                ", depositAmount=" + depositAmount +
                ", depositExpansionAmount=" + depositExpansionAmount +
                '}';
    }
}
